/*
 * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE)
 *
 * SPEC VERSION: 0.1-100
 * MAIN LINK: expressions, constant-literals, real-literals -> paragraph 3 -> sentence 2
 * NUMBER: 1
 * DESCRIPTION: Simple real literals with omitted a fraction part, suffixed by f/F (float suffix).
 */

val value_1 = 0F
val value_2 = 00F
val value_3 = 000f
val value_4 = 0000F
val value_5 = 00000000000000000000000000000000000000f

val value_6 = 1f
val value_7 = 22f
val value_8 = 333F
val value_9 = 4444f
val value_10 = 55555F
val value_11 = 666666f
val value_12 = 7777777f
val value_13 = 88888888F
val value_14 = 999999999F

val value_15 = 123456789f
val value_16 = 2345678F
val value_17 = 34567F
val value_18 = 456F
val value_19 = 5f
val value_20 = 654F
val value_21 = 76543F
val value_22 = 8765432f
val value_23 = 987654321F

val value_24 = 888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111F
val value_25 = 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f

fun box(): String? {
    if (value_1.compareTo(0.0F) != 0) return null
    if (value_2.compareTo(0.00F) != 0 || value_2.compareTo(0.0) != 0) return null
    if (value_3.compareTo(0.000f) != 0 || value_3.compareTo(0.0) != 0) return null
    if (value_4.compareTo(0.0000F) != 0 || value_4.compareTo(0.0) != 0) return null
    if (value_5.compareTo(00000000000000000000000000000000000000f) != 0 || value_5.compareTo(0.0) != 0) return null

    if (value_6.compareTo(1f) != 0 || value_6.compareTo(1.0) != 0) return null
    if (value_7.compareTo(22f) != 0 || value_7.compareTo(22.0) != 0) return null
    if (value_8.compareTo(333F) != 0 || value_8.compareTo(333.0) != 0) return null
    if (value_9.compareTo(4444f) != 0 || value_9.compareTo(4444.0) != 0) return null
    if (value_10.compareTo(55555F) != 0 || value_10.compareTo(55555.0) != 0) return null
    if (value_11.compareTo(666666f) != 0 || value_11.compareTo(666666.0) != 0) return null
    if (value_12.compareTo(7777777f) != 0 || value_12.compareTo(7777777.0) != 0) return null
    if (value_13.compareTo(88888888F) != 0 || value_13.compareTo(88888888.0) != 0) return null
    if (value_14.compareTo(999999999F) != 0 || value_14.compareTo(1.0E9F) != 0) return null

    if (value_15.compareTo(123456789f) != 0 || value_15.compareTo(1.23456792E8f) != 0) return null
    if (value_16.compareTo(2345678F) != 0 || value_16.compareTo(2345678.0) != 0) return null
    if (value_17.compareTo(34567F) != 0 || value_17.compareTo(34567.0) != 0) return null
    if (value_18.compareTo(456F) != 0 || value_18.compareTo(456.0) != 0) return null
    if (value_19.compareTo(5f) != 0 || value_19.compareTo(5.0) != 0) return null
    if (value_20.compareTo(654F) != 0 || value_20.compareTo(654.0) != 0) return null
    if (value_21.compareTo(76543F) != 0 || value_21.compareTo(76543.0) != 0) return null
    if (value_22.compareTo(8765432f) != 0 || value_22.compareTo(8765432.0) != 0) return null
    if (value_23.compareTo(987654321F) != 0 || value_23.compareTo(9.8765434E8F) != 0) return null

    if (value_24.compareTo(888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111F) != 0 || value_24.compareTo(Double.POSITIVE_INFINITY) != 0) return null
    if (value_25.compareTo(0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f) != 0 || value_25.compareTo(0.0) != 0) return null

    return "OK"
}
